using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace SMS.DataPackingWindow
{
    public class RemoteTask
    {
        private string _TaskId;
        private RemoteTaskType _TaskType;
        private DateTime _Date1;
        private DateTime _Date2;
        private string _CheckId;
        private int _CheckCount;

        public RemoteTask(string taskId, RemoteTaskType taskType, DateTime date1, DateTime date2, string checkId, int checkCount)
        {
            _TaskId = taskId;
            _TaskType = taskType;
            _Date1 = date1;
            _Date2 = date2;
            _CheckId = checkId;
            _CheckCount = checkCount;
        }

        public string TaskId
        {
            get { return _TaskId; }
            set { _TaskId = value; }
        }

        public RemoteTaskType TaskType
        {
            get { return _TaskType; }
            set { _TaskType = value; }
        }


        public DateTime Date1
        {
            get { return _Date1; }
            set { _Date1 = value; }
        }


        public DateTime Date2
        {
            get { return _Date2; }
            set { _Date2 = value; }
        }


        public string CheckId
        {
            get { return _CheckId; }
            set { _CheckId = value; }
        }


        public int CheckCount
        {
            get { return _CheckCount; }
            set { _CheckCount = value; }
        }
    }


    public class LocalTask
    {
        public LocalTask(string taskId, LocalTaskType taskType, string source, string target)
        {
            _TaskId = taskId;
            _TaskType = taskType;
            _Source = source;
            _Target = target;
        }

        private string _TaskId;

        public string TaskId
        {
            get { return _TaskId; }
            set { _TaskId = value; }
        }

        private LocalTaskType _TaskType;

        public LocalTaskType TaskType
        {
            get { return _TaskType; }
            set { _TaskType = value; }
        }

        private string _Source;

        public string Source
        {
            get { return _Source; }
            set { _Source = value; }
        }

        private string _Target;

        public string Target
        {
            get { return _Target; }
            set { _Target = value; }
        }

    }

    public enum LocalTaskType
    {
        POSData
    }

    public enum RemoteTaskType
    {
        BeforeDate,
        AfterDate,
        DateRange,
        SingleCheck
    }
}
